package createModel.BuilderModel.directorBuilderPlayers02;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 功能描述:abstaract基本配置生成器
 *  注意这里的throws Exception 不是必须得,目前是为了方便测试;真实场景中,需要抛出异常,让调用方处理
 * 2024/06/10
 *
 * @author ZhangYi
 */
public abstract class AbstaractBasicConfigBuilder {
    protected BasicConfig basicConfig = new BasicConfig();

    public abstract void buildId(long id) throws Exception;

    public abstract void buildReductionEmissionFactorId(String reductionEmissionFactorId) throws Exception;

    public abstract void buildEmissionFactorName(String missionFactorName) throws Exception;

    public abstract void buildFactorLibraryId(String factorLibraryId) throws Exception;

    public abstract void buildGhgTypeCode(List<String> ghgTypeCode) throws Exception;

    public abstract void buildDataValue(BigDecimal dataValue) throws Exception;

    public abstract void buildFactorGrade(String factorGrade) throws Exception;

    public abstract void buildMolecularUnit(String molecularUnit) throws Exception;

    public abstract void builddEnominatorUnit(String denominatorUnit) throws Exception;

    public abstract void buildUpdateAt(Date updateAt) throws Exception;

    protected BasicConfig createBasicConfig() {
        return this.basicConfig;
    }


}
